<?php
// *************************************
// Проверяем права доступа
// *************************************
// К объекту
/**
 * Проверяем права доступа пользователя к объекту
 *
 * @param int $ext_id
 * @param string $mod
 * @param string $class_code
 * @param string $do
 * @param int $user_id
 * @return bool
 */
function objr_acc_isaccess_user2obj($ext_id,$class_code,$mod,$do,$user_id)
{
    // Получаем id объекта
    $item_id = objr_save_object($ext_id,$class_code,$mod);
    // Проверяем права доступа
    return access_isaccess2item('obj',$item_id,$do,$user_id);
}
/**
 * Проверяем права доступа к объекту текущего пользователя (mauth)
 *
 * @param int $ext_id
 * @param string $mod
 * @param string $class_code
 * @param string $do
 * @return bool
 */
function objr_acc_isaccess_user2obj_mauth($ext_id,$class_code,$mod,$do)
{
    // Получаем id объекта
    $item_id = objr_save_object($ext_id,$class_code,$mod);
    // Проверяем права доступа
    return access_isaccess2item_mauth('obj',$item_id,$do);
}
// К классу
/**
 * Проверяем права доступа пользователя к классу
 *
 * @param string $class_code
 * @param string $mod
 * @param string $do
 * @param int $user_id
 * @return bool
 */
function objr_acc_isaccess_user2class($class_code,$mod,$do,$user_id)
{
    // Получаем id объекта
    $item_id = objr_save_class($class_code,$mod);
    // Проверяем права доступа
    return access_isaccess2item('obj_class',$item_id,$do,$user_id);
}
/**
 * Проверяем права доступа к объекту текущего пользователя (mauth)
 *
 * @param string $class_code
 * @param string $mod
 * @param string $do
 * @return bool
 */
function objr_acc_isaccess_user2class_mauth($class_code,$mod,$do)
{
    // Получаем id объекта
    $item_id = objr_save_class($class_code,$mod);
    // Проверяем права доступа
    return access_isaccess2item_mauth('obj_class',$item_id,$do);
}  
// К группе
/**
 * Проверяем права доступа пользователя к классу
 *
 * @param string $category_class
 * @param int $class_id
 * @param string $do
 * @param int $user_id
 * @return bool
 */
function objr_acc_isaccess_user2category($category_code,$class_id,$do,$user_id)
{
    // Получаем id объекта
    $item_id = objr_save_category($class_id,$category_code);
    // Проверяем права доступа
    return access_isaccess2item('obj_category',$item_id,$do,$user_id);
}
/**
 * Проверяем права доступа пользователя к классу
 *
 * @param string $category_class
 * @param int $class_id
 * @param string $do
 * @return bool
 */
function objr_acc_isaccess_user2category_mauth($category_code,$class_id,$do)
{
    // Получаем id объекта
    $item_id = objr_save_category($class_id,$category_code);
    // Проверяем права доступа
    return access_isaccess2item_mauth('obj_category',$item_id,$do);
}
// *************************************
// Сохраняем информацию о правах доступа
// *************************************

// К объекту

/**
 * Задать права доступа пользователя к объекту
 *
 * @param int $id
 * @param int $user_id
 * @param array $permissions
 * @return bool 
 */
function objr_acc_save_user2obj($id,$user_id,$permissions)
{
    return access_save_permission2item('user',$user_id,'obj',$id,$permissions);
}
/**
 * Задать права доступа пользователя к группе
 *
 * @param int $id
 * @param int $group_id
 * @param array $permissions
 * @return bool
 */
function objr_acc_save_group2obj($id,$group_id,$permissions)
{
    return access_save_permission2item('group',$group_id,'obj',$id,$permissions);
}

// К классу
function objr_acc_save_user2class($id,$user_id,$permissions)
{
    return access_save_permission2item('user',$user_id,'obj_class',$id,$permissions);
}
function objr_acc_save_group2class($id,$group_id,$permissions)
{
    return access_save_permission2item('group',$group_id,'obj_class',$id,$permissions);
}

// К категории
function objr_acc_save_user2category($id,$user_id,$permissions)
{
    return access_save_permission2item('user',$user_id,'obj_category',$id,$permissions);
}
function objr_acc_save_group2category($id,$group_id,$permissions)
{
    return access_save_permission2item('group',$group_id,'obj_category',$id,$permissions);
}
?>